import requests


def get_cve_product_package_list(cve_id, package_name):
    """
    获取指定 CVE ID 和软件包名称的 CVE 产品包列表。

    Args:
        cve_id (str): CVE ID，如 CVE-2024-29018。
        package_name (str): 软件包名称，如 docker。

    Returns:
        list: 包含 CVE 产品包的列表。
    """
    baseurl = "https://www.openeuler.org/api-cve/cve-security-notice-server/cvedatabase/getCVEProductPackageList"
    query_params = {"cveId": cve_id, "packageName": package_name}
    resp = requests.get(baseurl, params=query_params)
    resp.raise_for_status()
    return resp.json()


def get_by_cve_id_and_package_name(cve_id, package_name):
    """
    获取指定 CVE ID 和软件包名称的 CVE 描述。

    Args:
        cve_id (str): CVE ID，如 CVE-2024-29018。
        package_name (str): 软件包名称，如 docker。

    Returns:
        str: CVE 描述。
    """
    baseurl = "https://www.openeuler.org/api-cve/cve-security-notice-server/cvedatabase/getByCveIdAndPackageName"
    query_params = {"cveId": cve_id, "packageName": package_name}
    resp = requests.get(baseurl, params=query_params)
    resp.raise_for_status()
    return resp.json()
